'''
----银行ATM----
银行ATM存款取款：
1.模拟3张银行卡,1001,1002,1003,分别设置密码和余额(使用列表嵌套字典的方式)；
2.提示用户输入银行卡和密码，遍历每张卡的信息验证是否成功；
3.如果用户输入正确---提示让用户选择取款.存款还是退出,并提示余额多少.  输入错误---重新输入卡号密码；
  选择取款---提示输入取款额度,如果超过余额,提示余额不足;否则,在余额上减掉相应金额；
  选择存款---输入存款额度,余额加上相应额度,并提示余额多少；
  选择退出---重新登录；
4.连续3次输入错误账号密码,提示银行卡已被锁定，程序结束。
'''

card1 = {'id': '1001', 'pwd': '123', 'money': 1100000.0}
card2 = {'id': '1002', 'pwd': '123', 'money': 1200000.0}
card3 = {'id': '1003', 'pwd': '123', 'money': 1300000.0}
card_list = [card1, card2, card3]
tag = 0
login_count = 0
while login_count < 3:
    b_card = input('请输入银行卡号:')
    b_pwd = input("请输入密码:")
    for card in card_list:
        if b_card == card['id'] and b_pwd == card['pwd']:
            b_money: float = card['money']
            tag = 1
            break
    if tag == 1:
        print('登录成功')
        print(f'当前余额为：{b_money}')
        while True:
            choice = input('请选择操作：\n1.取款\n2.存款\n3.退出\n')
            if choice == '1':
                wdl = float(input('请输入取款金额：'))
                if wdl > b_money:
                    print('余额不足')
                else:
                    b_money=b_money - wdl
                    print('取款成功，当前余额为：', b_money)
            elif choice == '2':
                dep = float(input('请输入存款金额：'))
                b_money = b_money + dep
                print('存款成功，当前余额为:',b_money)
            elif choice == '3':
                break
            break

    else:
        login_count += 1
        print('密码错误，剩余尝试次数：', 3-login_count)
if login_count >= 3:
    print('银行卡已被锁定')